RapidSpellChecker

Provides a model (business/logic) level spell checker API which can be used in a client-server (eg; web, intranet) environment and any applications where a client GUI does not exist. RapidSpellChecker has been benchmarked at checking 50,000 words/second on a standard 1GHz PC. User dictionaries can optionally be used, allowing words to be added. This component can be used in 2 different ways, in an iterative fashion or on a query by query basis. Please see the API docs for code level details.

Using RapidSpellChecker in an iterative manner provides complete textual correction of strings similar to a GUI based spell checker. A string is loaded into RapidSpellChecker and then successive calls to the nextBadWord() method move through the string allowing findSuggestions() and changeBadWord(replacement) to be called to find spelling suggestions and optionally correct the misspelt words in the text, finally getAmendedText() returns the corrected text.

Alternatively RapidSpellChecker may be used in a simple query by query basis, calls to lookUp(word) and findSuggestions(word) methods allow bare bones spell checking functionality.

Key API Points

Methods
RapidSpellChecker() - argumentless constructor
check(text [, startPosition]) - begins checking text
findSuggestions(word) - finds suggestions for word
lookUp(word) - checks if word is in either main or user dictionaries
setUserDictionary(file) -allows you to define which file will be used as a user dictionary
ignoreAll(word) - ignores all future occurrences of word
addWord(word) - adds word to the user dictionary if it exists
nextBadWord() - finds the next misspelt word in the text
changeBadWord(newWord) - changes the misspelt word last identified by nextBadWord()
getAmendedText() - returns the corrected text

Query by Query Usage Sequence Diagram

Iterative Usage Sequence Diagram

See use cases section for examples.